home *** CD-ROM | disk | FTP | other *** search
Text File | 1999-06-25 | 2.3 KB | 116 lines | [TEXT/CWIE] |
- // ===========================================================================
- // CShadowWindow.h ©1999 Eric Traut
- // ===========================================================================
-
- #pragma once
-
- #include <MacWindows.h>
-
- #include "CWindowBehavior.h"
-
- typedef OSType ShadowWindowAction;
- const ShadowWindowAction kShadowActionNone = 'none';
- const ShadowWindowAction kShadowActionBlur = 'blur';
- const ShadowWindowAction kShadowActionFlipH = 'flph';
- const ShadowWindowAction kShadowActionFlipV = 'flpv';
- const ShadowWindowAction kShadowActionInvert = 'invt';
- const ShadowWindowAction kShadowActionVBlank = 'vblk';
- const ShadowWindowAction kShadowActionDuplicate = 'dupl';
- const ShadowWindowAction kShadowActionNextSlide = 'nxsl';
- const ShadowWindowAction kShadowActionRestore = 'rstr';
- const ShadowWindowAction kShadowActionGame = 'game';
- const ShadowWindowAction kShadowActionReboot = 'rbot';
- const ShadowWindowAction kShadowActionCrash = 'crsh';
- const ShadowWindowAction kShadowActionPigLatin = 'pigl';
-
- class CShadowWindow
- {
- public:
- CShadowWindow( CWindowRecord * inWindowPtr);
-
- virtual
- ~CShadowWindow(void);
-
- void
- ClearVisitedFlag(void)
- {
- mWasVisited = false;
- }
-
- void
- SetVisitedFlag(void)
- {
- mWasVisited = true;
- }
-
- Boolean
- WasVisited(void)
- {
- return mWasVisited;
- }
-
- CWindowRecord *
- GetMacWindow(void)
- {
- return mWindowPtr;
- }
-
- void
- GetWindowTitle(Str255 outName);
-
- void
- UseWindowsPort(void);
-
- // Window Behaviors
- void
- AttachBehavior( CWindowBehavior & inBehavior);
-
- void
- DetachBehavior(void);
-
- void
- DeleteBehavior(void);
-
- Boolean
- HasBehavior(void)
- {
- return (mWindowBehavior != NULL);
- }
-
- CWindowBehavior *
- GetBehavior(void)
- {
- return mWindowBehavior;
- }
-
- virtual Boolean
- ShouldEnableRestoreMenu(void);
-
- void
- SetIdleMenuAction( ShadowWindowAction inWindowAction)
- {
- mIdleAction = inWindowAction;
- }
-
- // Event Management
- virtual void
- DoIdleTask(Boolean inGNETime);
-
- virtual void
- HandleEvent( EventRecord * ioEvent,
- Boolean * ioResult);
-
- private:
- ShadowWindowAction mIdleAction;
- Boolean mNeedsUpdate;
- Boolean mWasVisited;
- CWindowRecord * mWindowPtr;
- CWindowBehavior * mWindowBehavior;
- };
-
-
-
-
-
-
-